package com.bsoft.gol.hcs.visitrecord.bean.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.bsoft.gol.hcs.visitrecord.entity.VrVisitDiagnosis;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 住院记录返参实体类
 * Created by ChenJij on 2020/9/5.
 */
@XmlRootElement(name = "Record")
public class InpatientVisitRecordListVo {
    private String hospitalRecordId;
    private String inHospitalRecordNumber;
    private String inHospitalRecordCode;
    private String medicalRecordNumber;
    private String visitNo;
    private String patientId;
    private String patientName;
    private String patientSex;
    private Date patientBirthday;
    private String patientAge;
    private String patientAgeText;
    private String cardType;
    private String cardNumber;
    private String patientMedicalCardType;
    private String patientMedicalCardNumber;
    private String telephone;
    private String address;
    private String patientNature;
    private String organizationId;
    private String organizationName;
    private String departmentId;
    private String departmentName;
    private String wardCode;
    private String wardName;
    private String bedNumber;
    private String attendingDoctorId;
    private String attendingDoctorName;
    private String chargeDoctorId;
    private String residentDoctorId;
    private String chiefDoctorId;
    private String careLevel;
    private String admissionDiagnosis;
    private String admission;
    private Date admissionTime;
    private Date dischargeTime;
    private String dischargeFlag;
    private Byte admissionAge;
    private Integer hospitalizationTimes;
    private String dischargeDiagnosis;
    private String leavingHospitalMode;
    private String patientCondition;
    private String diagnosisType;
    private String satisfactionStatus;
    private int surveyNumber;
    private int finishNumber;
    private String companionName;
    private String companionRelationship;
    private String companionPhone;
    private List<VrVisitDiagnosis> diagnosisList=new ArrayList<>();

    public String getCompanionName() {
        return companionName;
    }

    public void setCompanionName(String companionName) {
        this.companionName = companionName;
    }

    public String getCompanionRelationship() {
        return companionRelationship;
    }

    public void setCompanionRelationship(String companionRelationship) {
        this.companionRelationship = companionRelationship;
    }

    public String getCompanionPhone() {
        return companionPhone;
    }

    public void setCompanionPhone(String companionPhone) {
        this.companionPhone = companionPhone;
    }

    @XmlElement(name = "VisitOrganization")
    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    @XmlElement(name = "VisitOrganizationName")
    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    public String getHospitalRecordId() {
        return hospitalRecordId;
    }

    public void setHospitalRecordId(String hospitalRecordId) {
        this.hospitalRecordId = hospitalRecordId;
    }

    @XmlElement(name = "VisitId")
    public String getInHospitalRecordNumber() {
        return inHospitalRecordNumber;
    }

    public void setInHospitalRecordNumber(String inHospitalRecordNumber) {
        this.inHospitalRecordNumber = inHospitalRecordNumber;
    }

    @XmlElement(name = "HospizationId")
    public String getInHospitalRecordCode() {
        return inHospitalRecordCode;
    }

    public void setInHospitalRecordCode(String inHospitalRecordCode) {
        this.inHospitalRecordCode = inHospitalRecordCode;
    }

    @XmlElement(name = "MedicalRecordNumber")
    public String getMedicalRecordNumber() {
        return medicalRecordNumber;
    }

    public void setMedicalRecordNumber(String medicalRecordNumber) {
        this.medicalRecordNumber = medicalRecordNumber;
    }

    @XmlElement(name = "VisitId")
    public String getVisitNo() {
        return visitNo;
    }

    public void setVisitNo(String visitNo) {
        this.visitNo = visitNo;
    }

    @XmlElement(name = "SourcePatientId")
    public String getPatientId() {
        return patientId;
    }

    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }

    @XmlElement(name = "Name")
    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    @XmlElement(name = "Sex")
    public String getPatientSex() {
        return patientSex;
    }

    public void setPatientSex(String patientSex) {
        this.patientSex = patientSex;
    }

    @XmlElement(name = "BirthDate")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh_CN", timezone = "GMT+8")
    public Date getPatientBirthday() {
        return patientBirthday;
    }

    public void setPatientBirthday(Date patientBirthday) {
        this.patientBirthday = patientBirthday;
    }


    @XmlElement(name = "Age")
    public String getPatientAgeText() {
        return patientAgeText;
    }

    public void setPatientAgeText(String patientAgeText) {
        this.patientAgeText = patientAgeText;
    }

    public String getPatientAge() {
        return patientAge;
    }

    public void setPatientAge(String patientAge) {
        this.patientAge = patientAge;
    }

    @XmlElement(name = "IdCardCode")
    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    @XmlElement(name = "IdCard")
    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    @XmlElement(name = "MedicalCardType")
    public String getPatientMedicalCardType() {
        return patientMedicalCardType;
    }

    public void setPatientMedicalCardType(String patientMedicalCardType) {
        this.patientMedicalCardType = patientMedicalCardType;
    }

    @XmlElement(name = "MedicalCardId")
    public String getPatientMedicalCardNumber() {
        return patientMedicalCardNumber;
    }

    public void setPatientMedicalCardNumber(String patientMedicalCardNumber) {
        this.patientMedicalCardNumber = patientMedicalCardNumber;
    }

    @XmlElement(name = "ContactNo")
    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getPatientNature() {
        return patientNature;
    }

    public void setPatientNature(String patientNature) {
        this.patientNature = patientNature;
    }

    @XmlElement(name = "DeptCode")
    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    @XmlElement(name = "DeptName")
    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public String getWardCode() {
        return wardCode;
    }

    public void setWardCode(String wardCode) {
        this.wardCode = wardCode;
    }

    public String getWardName() {
        return wardName;
    }

    public void setWardName(String wardName) {
        this.wardName = wardName;
    }

    public String getBedNumber() {
        return bedNumber;
    }

    public void setBedNumber(String bedNumber) {
        this.bedNumber = bedNumber;
    }

    @XmlElement(name = "AttendingDoctorId")
    public String getAttendingDoctorId() {
        return attendingDoctorId;
    }

    public void setAttendingDoctorId(String attendingDoctorId) {
        this.attendingDoctorId = attendingDoctorId;
    }

    @XmlElement(name = "AttendingDoctorName")
    public String getAttendingDoctorName() {
        return attendingDoctorName;
    }

    public void setAttendingDoctorName(String attendingDoctorName) {
        this.attendingDoctorName = attendingDoctorName;
    }

    public String getChargeDoctorId() {
        return chargeDoctorId;
    }

    public void setChargeDoctorId(String chargeDoctorId) {
        this.chargeDoctorId = chargeDoctorId;
    }

    public String getResidentDoctorId() {
        return residentDoctorId;
    }

    public void setResidentDoctorId(String residentDoctorId) {
        this.residentDoctorId = residentDoctorId;
    }

    @XmlElement(name = "DoctorCode")
    public String getChiefDoctorId() {
        return chiefDoctorId;
    }

    public void setChiefDoctorId(String chiefDoctorId) {
        this.chiefDoctorId = chiefDoctorId;
    }

    @XmlElement(name = "CareLevel")
    public String getCareLevel() {
        return careLevel;
    }

    public void setCareLevel(String careLevel) {
        this.careLevel = careLevel;
    }

    public String getAdmissionDiagnosis() {
        return admissionDiagnosis;
    }

    public void setAdmissionDiagnosis(String admissionDiagnosis) {
        this.admissionDiagnosis = admissionDiagnosis;
    }

    @XmlElement(name = "Admission")
    public String getAdmission() {
        return admission;
    }

    public void setAdmission(String admission) {
        this.admission = admission;
    }

    @XmlElement(name = "AdmissionTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh_CN", timezone = "GMT+8")
    public Date getAdmissionTime() {
        return admissionTime;
    }

    public void setAdmissionTime(Date admissionTime) {
        this.admissionTime = admissionTime;
    }

    @XmlElement(name = "DischargeTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh_CN", timezone = "GMT+8")
    public Date getDischargeTime() {
        return dischargeTime;
    }

    public void setDischargeTime(Date dischargeTime) {
        this.dischargeTime = dischargeTime;
    }

    public String getDischargeFlag() {
        return dischargeFlag;
    }

    public void setDischargeFlag(String dischargeFlag) {
        this.dischargeFlag = dischargeFlag;
    }

    public Byte getAdmissionAge() {
        return admissionAge;
    }

    public void setAdmissionAge(Byte admissionAge) {
        this.admissionAge = admissionAge;
    }

    @XmlElement(name = "HospitalizationTimes")
    public Integer getHospitalizationTimes() {
        return hospitalizationTimes;
    }

    public void setHospitalizationTimes(Integer hospitalizationTimes) {
        this.hospitalizationTimes = hospitalizationTimes;
    }

    public String getDischargeDiagnosis() {
        return dischargeDiagnosis;
    }

    public void setDischargeDiagnosis(String dischargeDiagnosis) {
        this.dischargeDiagnosis = dischargeDiagnosis;
    }

    @XmlElement(name = "LeavingHospitalMode")
    public String getLeavingHospitalMode() {
        return leavingHospitalMode;
    }

    public void setLeavingHospitalMode(String leavingHospitalMode) {
        this.leavingHospitalMode = leavingHospitalMode;
    }

    public String getPatientCondition() {
        return patientCondition;
    }

    public void setPatientCondition(String patientCondition) {
        this.patientCondition = patientCondition;
    }

    public String getDiagnosisType() {
        return diagnosisType;
    }

    public void setDiagnosisType(String diagnosisType) {
        this.diagnosisType = diagnosisType;
    }

    public String getSatisfactionStatus() {
        return satisfactionStatus;
    }

    public void setSatisfactionStatus(String satisfactionStatus) {
        this.satisfactionStatus = satisfactionStatus;
    }

    public int getSurveyNumber() {
        return surveyNumber;
    }

    public void setSurveyNumber(int surveyNumber) {
        this.surveyNumber = surveyNumber;
    }

    public int getFinishNumber() {
        return finishNumber;
    }

    public void setFinishNumber(int finishNumber) {
        this.finishNumber = finishNumber;
    }

    @XmlElementWrapper(name = "DiagLists")
    @XmlElement(name = "DiagList")
    public List<VrVisitDiagnosis> getDiagnosisList() {
        return diagnosisList;
    }

    public void setDiagnosisList(List<VrVisitDiagnosis> diagnosisList) {
        this.diagnosisList = diagnosisList;
    }
}